home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1996 April
/
CHIP 1996 aprilis (CD06).zip
/
CHIP_CD06.ISO
/
hypertxt.arj
/
92
/
CALAB.CD
< prev
next >
Wrap
Text File
|
1995-09-14
|
11KB
|
189 lines
@VA sejtek élete@N
Az ember -- ha biológusként kezdte pályafutását a
számítógépek világában, mint én -- ismét az egyetemen, dr.
Juhász Nagy Pál és dr. Balogh János speciálkollégiumában
érezheti magát, amikor az Autodesk CA Lab programcsomagját
tanulmányozza. A CA Lab rövidítés ugyanis a Cellular
Automata Laboratory -- azaz Sejtautomata Laboratórium --
nevet takarja.
Az Autodesk immár második oktató programcsomagját
bocsájtotta ki az érdeklôdôk számára. Rudy Rucker, a ""pipás
programozó" valószínûleg szívét-lelkét beleadta ebbe az
érdekes gondolatkísérletbe, amelynek egyik demonstrációs
képsorozatán éppen az ô portréja válik semmivé, ahogy a kép
pontjai önálló életre kelvén, mint sejtek, szaporodni
kezdenek.
""Szaporodjatok és sokasodjatok, népesítsétek be
utódaitokkal a Földet!" Ebben a bibliai mondatban foglalható
össze az élet lényege. Mert az alapegység, a sejt egyetlen
életprogramot vall magáénak: megszületni, növekedni,
utódokat létrehozni, majd ismét visszatérni oda, ahonnan
vétetett. Nos, e folyamat számítógépes szimulációja az
Életjáték, vagyis a sejtautomata, amelynek bemutatására
vállalkozott Rudy Rucker, aki a programcsomag RC részét
csinálta és John Walker, aki a CA szekciót, azaz magát a
sejtlaboratóriumot fejlesztette ki. Az Autodesk
gyakorlatában példátlan módon a CA Lab kiegészítô
programjait Pascal, C, Basic és assembly forrásnyelven is
közreadták, megkönnyítendô a kísérletezést.
Az egyes cellákat, amelyek lehetnek karakterek vagy akár
képpontok is, tekinthetjük az élet alapegységének. Ez a
sejt. Nos, ez a nagy Élet játszma szabályai szerint
szaporodik. Ahhoz azonban, hogy ne szaporodjon korlátlanul,
mint a rákos sejtek, bizonyos környezeti feltételek
akadályozzák a korlátlan többszörözôdést. A sejtek
szaporodásuk közben létrehozzák a sejtteret, ami viszont
kiváló modellje az életben végbemenô szociológiai, biológiai
folyamatoknak egyaránt. Nem öncélú játék az evvel való
foglalatoskodás.
Amikor a programcsomag telepíti magát a gépen, három
nagy szekcióra oszlik. A 3D egy demoprogram, amely a
háromdimenziós sejtek világába enged bepillantást. A sejtek
Fredkins paritását szemléltetô mozgó ábra egy oszcilláló
jelenséget mutat. Egy kocka alakú kiinduló sejt lapjain
újabb kockákat szül. Ekkor azonban oly sokan vannak, hogy a
szülôk elpusztulnak, és lyukak támadnak a tömör térben. Ezt
az utódok gyermekei töltik ki, egyszerre hat irányban
terjedve a térben. îgy egy furcsa, hat irányban terjedô,
térbeli, roboidhoz hasonló idomot kapunk, amely a
túlnépesedési ciklusokat követô pusztulási ciklusok
következtében periodikusan hol átlátható, hol pedig
átláthatatlan. Az átlátható periódusokban jól látható az
alapszabály: minden kockalap új sejtet szül abban az
esetben, ha nem érintkezik másikkal. Ha igen, akkor
elpusztul.
A másik mozgó ábra a stabil alakzatok világából mutat be
kettôt: a vitorlázó repülôgépet és a rotort. A
reprodukálódási szabályokat mindkettônél úgy választották
meg, hogy ciklikusan változó, de stabil alakzatot kapjanak.
Például a sejtek szaporodása és halála miatt úgy látjuk,
hogy egy mag körül egy félgyûrû forog, vagy maga az alakzat
mozog a térben. A téma tudorai jól megsejtették, majd késôbb
bizonyították, hogy nagyon sok ilyen stabil mozgó alakzat
hozható létre az egyes sejtek programjainak megfelelô
megváltoztatásával. (Mit gondolunk, ennek mi köze van ahhoz,
hogy egyetlen petesejtbôl egy egész, mûködôképes ember
alakul ki az anyaméhben?)
Az RC alprogram lényegében egy menüvezérelt program,
amelyben a sejtek -- azaz a karakteres cellák -- érdekes
fejlôdést mutatnak be. A korábbi rendszerben egy sejt léte
vagy nem léte a tét. Itt már tovább mennek. Ugyanis a színek
a sejtek különbözô fejlôdési állapotait jelenítik meg.
Ahhoz, hogy egy sejt szaporodjon, át kell mennie a fejlôdés
megadott stádiumain. A sejtek életébe a menüvezérlésen
keresztül mi is beavatkozhatunk, például kipusztíthatunk
benne egyes szigeteket, és leshetjük, miként foltozza be azt
a természet.
Az igazi kétdimenziós sejtjátékot a valódi
fejlesztôkészlet, a CA Lab valósítja meg. Ebben több
programnyelven, közöttük C, Basic, assembly nyelven
találhatunk mintaprogramokat. S hogy miért áll ez a
legközelebb az élet szimulációjához? Azért, mert igazából
itt érvényesül a sejtek tulajdonságainak
megváltoztathatósága. A sejteknek ugyanis típusaik szerint
önálló cselekvési programmal kell rendelkezniük ebben a
sejttérben, miként az élô szervezetben is a már elkülönült
sejtek önálló növekedési programmal rendelkeznek. (A
biológusok számára pontosítsunk egy kicsit: az eredeti
genetikai anyagból a szövetdifferenciálódás során már
aktivizálódott a megfelelô szövet- illetve sejtspecifikus
program...)
A kicsit absztrakt képeket tanulmányozva joggal felmerül
a kérdés: öncélú játékkal van-e dolgunk, vagy valamilyen
tudományos célt is szolgálnak ezek az esztétikailag is szép
ábrák? Nos, a sejtautomaták szimulációját már 1940-ben
felvetette egy lengyel származású, de az USA-ban dolgozó
elméleti matematikai szakember, Stalislaw Ulam, akinek
ötlete találkozott Neumann Jánoséval. îgy született meg az
önreprodukáló matematikai automaták, majd késôbb a
kibernetikus sejt teóriája. Ulam adta a valószínûségi
szimuláció, a Monte-Carlo módszer alapjait, amihez Neumann a
kibernetikai alapokat tette hozzá, hogy végül a szintén
magyar Teller Ede professzorral az amerikai atomprogram
számítástechnikai kutatásai során kiteljesedjen az
önreprodukáló automaták elmélete.
Azt gondolnánk, hogy ez egy eléggé elméleti kutatás. Azt
viszont csak a szakemberek tudják, hogy a sejtautomata
szimuláció összekapcsolva más hasonló szimulációs
elméletekkel elôbb-utóbb részese lesz mindennapi
valóságunknak. Ki gondolná például, hogy a klasszikus
gázdinamikai elméletek alapján a molekulák mozgásának
kidolgozott matematikai modelljei, a ""megváltoztatandók
megváltoztatásával" alkalmasak például a társadalmi mozgások
modellezésére. Itt éppen az a lényeg, hogy minél nagyobb a
tömeg létszáma, annál valószínûbben lehet elôrejelezni
viselkedését. Ezt a szabályt a pszichológusok ismerték, de
matematikai megfogalmazása már a közelmúlt eredménye. Talán
beigazolódik Asimov pszichohistóriai ötlete.
A sejtszimuláció is legkevésbé ott terjedt el, ahol az
ember neve után várná, a biológiában. A mindennapi életben a
sejtautomata-kutatások eredményei azért megjelennek. Ugyanis
ez az elmélet feltételezi azt is, hogy egyes sejtek
örökletes programja a generációváltások során némileg
megváltozik, módosul, ami véletlen események hatására
következik be. Ez megfelel a valós világban a mutáció
fogalmának, amely az egyes sejtre nem, de egy nagyobb
sejttömegre már megfelelô módszerekkel megjósolható. Itt
jönnek be Stanislaw Ulam kutatásai a véletlen
matematikájáról. Ha sikerül megfogni az információ
torzulásának törvényeit, akkor lehetségessé válik sok
probléma megoldása. Például létrehozhatók hibatûrô
számítógépek és önjavító, esetleg önmagukat is reprodukáló
automaták.
Ezt a játékot, amit az Autodesk a CA Lab készletben
közreadott, egy ilyen kutatási program során fejlesztették
ki. 1970 októberében, egy neves amerikai folyóirat, a
Scientific American hasábjain jelent meg Martin Gardner
cikke a Matematikai játékokról, amelyben ismertette John
Conway-nak, a Cambridge University kutatójának életjáték
programját.
A szabályok is tôle származnak. A dolog lényege az, hogy
az egyes sejtek megfelelô programjának kialakításával
stabil, vagy két-három fázison keresztül pulzáló, illetve a
sejttérben -- ami a játékterünk -- haladó alakzatokat hozhat
létre. Tôle származnak az elsô ilyenek, amit a program a
mozi-demóban bemutat: a vitorlázó repülô (glider), a füstölô
mozdony (puffer train), és az ágyú alakzatok. Utána
megindultak a kutatások abban a tárgyban, vajon melyek azok
a szabályok, amelyek közösek ezekben a véletlen
próbálkozások során létrejött, de késôbb már tudatosan is
kifejlesztett stabil alakzatokban.
Az egyes sejtek szaporodásának törvényeit egyszerû
igen-nem szabályok írják le. Például, ha egy sejtet nem vesz
körül minden oldalról sejt, akkor létrehoz mellette, vele
érintkezve egyet, ha viszont legalább három oldalról
körülveszik már sejtek, akkor elpusztul. Könnyen belátható,
hogy ebben az esetben nagy valószínûséggel egy olyan mozgó
alakzat jön létre, amelyik abban az irányban mozdul el,
amerre az elsô sejtet létrehozta. Ugyanakkor, ha négy
oldalra hoz létre sejtet, akkor valószínûleg -- egyéb
feltételektôl függôen -- vagy koncentrikusan terjedô, vagy
egy helyben pulzáló alakzatot fog létrehozni a kiinduló
sejttömeg. Természetesen sok bizonytalanság is kell hogy
legyen a rendszerben. Például az, hogy milyen irányban és
egy adott idôintervallumon belül mikor hozza létre az egyik
sejt a másikat.
S ha már itt vagyunk, meg kell említenünk ennek a
teóriának egy érdekes alkalmazási területét. Az
atomfizikában nem lehet tudni, hogy egy jelenség pontosan
mikor következik be, csak annyit, hogy egy adott térben
sztochasztikusan be kell valahol következnie. Ebbôl látható,
hogy az egyes magfizikai folyamatok kutatása során is teret
nyerhet ez a látszólag komoly elméleti játéknak indult
szimuláció. Segítségével, ha az egyes sejtek létezési
szabályait jól állapítjuk meg, azaz jól írtuk meg örökítô
anyagának programját, akkor szimulálhatók egyes nehezen
elôrejelezhetô magfizikai folyamatok is.
A program kézikönyve a szokásoknak megfelelôen felér egy
alapos szakkönyvvel. îgy elolvasása még azoknak is
ajánlható, akik nem szándékoznak komolyabban programozással
foglalkozni, de érdeklôdnek az intelligens építôelemek
elmélete iránt. Sajnos a kézikönyv nyomdai kivitele nem
méltó a programhoz, egy jó nyugati egyetemi jegyzet
színvonalát éri el fekete-fehér nyomdatechnikájával,
láthatóan szövegszerkesztôvel készült szedésével. Ennek
ellenére világos angolsággal írt, élvezetes olvasmány.
@KKis János@N